#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
    int k = 0;
    scanf("%d", &k);
    for(int i = 0; i < k; i++) {
        int n;
        char c;
        scanf("%d %c", &n, &c);
        int* array = (int*) calloc(sizeof(int), n);
        for(int x = 0; x < n; x++) {
            // 插入排序
            int value;
            scanf("%d", &value);
            int inserted = 0;
            for(int y = 0; y < x; y++) {
                if (c == 'A') {
                    if (value < array[y]) {
                        // 在左边插入
                        memmove(&array[y + 1], &array[y], sizeof(int) * (x - y));
                        array[y] = value;
                        inserted = 1;
                        break;
                    }
                } else if (c == 'D') {
                    if (value > array[y]) {
                        // 在左边插入
                        memmove(&array[y + 1], &array[y], sizeof(int) * (x - y));
                        array[y] = value;
                        inserted = 1;
                        break;
                    }
                }
            }
            if (!inserted) {
                // 直接插入最右边
                array[x] = value;
            }
        }
        for(int x = 0; x < n; x++) {
            printf("%d", array[x]);
            if (x != n - 1) {
                putchar(' ');
            } else {
                putchar('\n');
            }
        }
        free(array);
    }
    return 0;
}
